package com.scen.upload.service;

import com.scen.upload.domain.Customer;
import com.scen.upload.dto.CustomerDto;
import com.scen.upload.vo.DataEntity;
import com.scen.upload.vo.DataGridView;

import java.util.List;
import java.util.Map;

public interface CustomerService {

    /**
     * 分页查询客户
     *
     * @param customerDto
     * @return
     */
    DataGridView listCustomerPage(CustomerDto customerDto);

    /**
     * 根据ID查询客户
     *
     * @param customerId
     * @return
     */
    Customer getOne(Long customerId);

    /**
     * 添加客户
     *
     * @param customerDto
     * @return
     */
    int addCustomer(CustomerDto customerDto);

    /**
     * 修改客户
     *
     * @param customerDto
     * @return
     */
    int updateCustomer(CustomerDto customerDto);

    /**
     * 根据ID删除客户
     *
     * @param customerIds
     * @return
     */
    int deleteCustomerByIds(Long[] customerIds);

    /**
     * 查询全部客户
     *
     * @return
     */
    List<Customer> list(String status);

    /**
     * 根据省份数据得到对应id
     *
     * @param customerId
     * @return
     */
    List<Integer> getAddressData(String customerId);

    /**
     * 构造省份客户数量对应数据串
     *
     * @return
     */
    Map<String, Object> queryAddressOfCustomer();

    /**
     * 查询饼状图所需数据
     *
     * @return
     */
    List<DataEntity> queryCakeData();

}
